package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;

import java.util.List;

public interface ISysRoleService {
    /**
     *  查询所有角色
     *
     * @param role 角色信息
     * @return List<SysRole> 角色信息列表
     */
    public List<SysRole> selectRoleList(SysRole role);


    /**
     * 新增权限角色
     * @param role 角色信息
     * @return int
     */
    public int insertRole(SysRole role);


    /**
     * 根据角色id删除用户
     *
     * @param roleId 角色id
     * @return int
     */
    public int deleteRole(Long roleId);


    public int deleteRoles(Long[] roleIds);

    /**
     * 修改角色信息
     *
     * @return int
     */
    public int updateRole(SysRole role);


    /**
     * 根据角色id查找角色信息
     *
     * @param srId 角色id
     * @return SysRole 角色信息
     */
    SysRole selectRoleById(Long srId);


    /**
     * 查询用户是否唯一
     * @param role 用户信息
     * @return String '1'不唯一
     */
    String checkRoleNameUnique(SysRole role);


    void checkRoleAllowed(SysRole role);

    int changeStatus(SysRole role);

    int deleteRoleByIds(String ids);

    List<SysUser> selectAllocatedList(SysUser user);

    List<SysUser> selectUnallocatedList(SysUser user);

    int insertAuthUsers(Long srId, String uIds);

    int deleteAuthUser(SysUser user);

    int deleteAuthUsers(Long srId, String uIds);
}
